- name: /etc/postfix/main.cf
  copy: src={{ item }} dest=/etc/postfix/main.cf
  with_first_found:
    - "{{ postfix_maincf }}"
    - "postfix/main.cf/main.cf.{{ inventory_hostname }}"
    - "postfix/main.cf/main.cf.{{ host_group }}"
    - "postfix/main.cf/main.cf.{{ postfix_group }}"
    - "postfix/main.cf/main.cf.{{ datacenter }}"
    - "postfix/main.cf/main.cf"
  notify:
  - restart postfix
  tags:
  - postfix
  - config
  - base

- name: install /etc/postfix/master.cf file
  copy: src={{ item }} dest=/etc/postfix/master.cf mode=0644
  with_first_found:
    - "{{ postfix_mastercf }}"
    - "postfix/master.cf/master.cf.{{ inventory_hostname }}"
    - "postfix/master.cf/master.cf.{{ host_group }}"
    - "postfix/master.cf/master.cf.{{ postfix_group }}"
    - "postfix/master.cf/master.cf"
  when: inventory_hostname.startswith(('smtp-mm', 'mailman', 'noc02'))
  notify:
  - restart postfix
  tags:
  - postfix
  - config
  - base

- name: Deploy sender_access file
  copy: src="{{private}}/files/smtpd/sender_access" dest="/etc/postfix/sender_access"
  when: postfix_group == "smtp-mm"
  tags:
  - postfix
  - config
  - base

- name: Create sender_access hash
  command: postmap hash:/etc/postfix/sender_access
  changed_when: false
  when: postfix_group == "smtp-mm"
  tags:
  - postfix
  - config
  - base

- name: enable postfix to start
  service: name=postfix state=started enabled=true
  tags:
  - service
  - base

- name: install /etc/postfix/transport file
  copy: src="postfix/{{ postfix_transport_filename }}" dest=/etc/postfix/transport
  when: inventory_hostname.startswith(('smtp-mm','bastion','noc02'))
  notify:
  - rebuild postfix transport
  - restart postfix
  tags:
  - postfix
  - base
  - config

- name: create /etc/postfix/tls_policy
  copy: src="postfix/tls_policy" dest=/etc/postfix/tls_policy
  when: inventory_hostname.startswith(('bastion','smtp-mm'))
  notify:
  - rebuild postfix tls_policy
  - restart postfix
  tags:
  - postfix
  
- name: install /etc/pki/tls/certs/gateway.crt
  copy: 
    src="{{private}}/files/smtpd/gateway.complete.crt"
    dest=/etc/pki/tls/certs/gateway.crt
    owner=root
    group=root
    mode=0644
  when: inventory_hostname.startswith(('bastion','smtp-mm'))
  notify:
  - restart postfix
  tags:
  - postfix

- name: Copy gateway.key
  copy: 
    src="{{private}}/files/smtpd/gateway.key"
    dest=/etc/pki/tls/private/
    owner=root
    group=postfix
    mode=0640
  when: inventory_hostname.startswith(('bastion','smtp-mm'))
  notify:
  - restart postfix
  tags:
  - postfix
